package top.mcwebsite.playandroid.business.message.impl.vm

import top.mcwebsite.playandroid.business.message.impl.model.MessageModel
import top.mcwebsite.playandroid.lib.mvi.base.IIntent
import top.mcwebsite.playandroid.lib.mvi.base.IUiEffect
import top.mcwebsite.playandroid.lib.mvi.base.IUiState

data class MessageUiState(
    val messageTab: MessageTab = MessageTab.New,
): IUiState

sealed interface MessageIntent : IIntent {
    data class MessageTabChangeIntent(val messageTab: MessageTab): MessageIntent
    data class OnMessageItemClickIntent(val messageModel: MessageModel) : MessageIntent

}

sealed interface MessageUiEffect : IUiEffect {
    data class GoArticleDetailPageUiEffect(val messageModel: MessageModel) : MessageUiEffect
}